*/ public function register(): array { return [ T_CLASS, ]; } /** * @phpcsSuppress SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint * @param int $classPointer */ public function process(File $phpcsFile, $classPointer): void { $className = ClassHelper::getName($phpcsFile, $classPointer); $previousPointer = TokenHelper::findPreviousEffective($phpcsFile, $classPointer - 1); if ($phpcsFile->getTokens()[$previousPointer]['code'] === T_ABSTRACT) { return; } if (strtolower($className) === 'exception') { return; } $suffix = substr($className, -9); if (strtolower($suffix) !== 'exception') { return; } $phpcsFile->addError(sprintf('Superfluous suffix "%s".', $suffix), $classPointer, self::CODE_SUPERFLUOUS_SUFFIX); } }